<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.3.2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.3.2#" 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified">

  <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/
REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<!-- Start auxiliary types definitions: AnyType, ObjectIdentifierType, 
EncapsulatedPKIDataType and containers for time-stamp tokens -->
  
<!-- Start AnyType -->

  <xsd:element name="Any" type="AnyType"/>
  <xsd:complexType name="AnyType" mixed="true">
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:any namespace="##any" processContents="lax"/>
    </xsd:sequence>
    <xsd:anyAttribute namespace="##any"/>
  </xsd:complexType>

<!-- End AnyType -->

<!-- Start ObjectIdentifierType-->
  
  <xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
  <xsd:complexType name="ObjectIdentifierType">
    <xsd:sequence>
      <xsd:element name="Identifier" type="IdentifierType"/>
      <xsd:element name="Description" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DocumentationReferences" 
        type="DocumentationReferencesType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="IdentifierType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:anyURI">
        <xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:simpleType name="QualifierType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="OIDAsURI"/>
      <xsd:enumeration value="OIDAsURN"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="DocumentationReferencesType">
    <xsd:sequence maxOccurs="unbounded">
      <xsd:element name="DocumentationReference" type="xsd:anyURI"/>
    </xsd:sequence>
  </xsd:complexType>
  
<!-- End ObjectIdentifierType-->  

<!-- Start EncapsulatedPKIDataType-->
  
  <xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
  <xsd:complexType name="EncapsulatedPKIDataType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:base64Binary">
        <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
        <xsd:attribute name="Encoding" type="xsd:anyURI" use="optional"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>

<!-- End EncapsulatedPKIDataType -->

  <!-- Start time-stamp containers types -->

  <!-- Start GenericTimeStampType -->

  <xsd:element name="Include" type="IncludeType"/>
  <xsd:complexType name="IncludeType">
    <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
    <xsd:attribute name="referencedData" type="xsd:boolean" use="optional"/>
  </xsd:complexType>
  <xsd:element name="ReferenceInfo" type="ReferenceInfoType"/>
  <xsd:complexType name="ReferenceInfoType">
    <xsd:sequence>
      <xsd:element ref="ds:DigestMethod"/>
      <xsd:element ref="ds:DigestValue"/>
    </xsd:sequence>
    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
    <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
  </xsd:complexType>

  <xsd:complexType name="GenericTimeStampType" abstract="true">
    <xsd:sequence>
      <xsd:choice minOccurs="0">
        <xsd:element ref="Include" maxOccurs="unbounded"/>
        <xsd:element ref="ReferenceInfo" maxOccurs="unbounded"/>
      </xsd:choice>
      <xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
      <xsd:choice maxOccurs="unbounded">
        <xsd:element name="EncapsulatedTimeStamp"
           type="EncapsulatedPKIDataType"/>
        <xsd:element name="XMLTimeStamp" type="AnyType"/>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
  </xsd:complexType>

  <!-- End GenericTimeStampType -->

  <!-- Start XAdESTimeStampType -->

  <xsd:element name="XAdESTimeStamp" type="XAdESTimeStampType"/>
  <xsd:complexType name="XAdESTimeStampType">
    <xsd:complexContent>
      <xsd:restriction base="GenericTimeStampType">
        <xsd:sequence>
          <xsd:element ref="Include" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
          <xsd:choice maxOccurs="unbounded">
            <xsd:element name="EncapsulatedTimeStamp"
                type="EncapsulatedPKIDataType"/>
            <xsd:element name="XMLTimeStamp" type="AnyType"/>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>

  <!-- End XAdESTimeStampType -->

  <!-- Start OtherTimeStampType -->

  <xsd:element name="OtherTimeStamp" type="OtherTimeStampType"/>
  <xsd:complexType name="OtherTimeStampType">
    <xsd:complexContent>
      <xsd:restriction base="GenericTimeStampType">
        <xsd:sequence>
          <xsd:element ref="ReferenceInfo"  maxOccurs="unbounded"/>
          <xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
          <xsd:choice>
              <xsd:element name="EncapsulatedTimeStamp" 
                type="EncapsulatedPKIDataType"/>
              <xsd:element name="XMLTimeStamp" type="AnyType"/>
            </xsd:choice>
          </xsd:sequence>
        <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>

  <!-- End OtherTimeStampType -->

  <!-- End time-stamp containers types --> 

<!-- End auxiliary types definitions-->  
  
<!-- Start container types -->

<!-- Start QualifyingProperties -->

  <xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>

  <xsd:complexType name="QualifyingPropertiesType">
    <xsd:sequence>
      <xsd:element name="SignedProperties" type="SignedPropertiesType" 
        minOccurs="0"/>
      <xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" 
        minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
  </xsd:complexType>

<!-- End QualifyingProperties -->

<!-- Start SignedProperties-->

  <xsd:element name="SignedProperties" type="SignedPropertiesType"/>

  <xsd:complexType name="SignedPropertiesType">
    <xsd:sequence>
      <xsd:element name="SignedSignatureProperties" 
        type="SignedSignaturePropertiesType"/>
      <xsd:element name="SignedDataObjectProperties" 
        type="SignedDataObjectPropertiesType" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
  </xsd:complexType>

<!-- End SignedProperties-->

<!-- Start UnsignedProperties-->

<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" />

  <xsd:complexType name="UnsignedPropertiesType">
    <xsd:sequence>
      <xsd:element name="UnsignedSignatureProperties" 
        type="UnsignedSignaturePropertiesType" minOccurs="0"/>
        <xsd:element name="UnsignedDataObjectProperties" 
          type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
  </xsd:complexType>

<!-- End UnsignedProperties-->

<!-- Start SignedSignatureProperties-->

<xsd:element name="SignedSignatureProperties" 
  type="SignedSignaturePropertiesType" />

<xsd:complexType name="SignedSignaturePropertiesType">
  <xsd:sequence>
    <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/>
    <xsd:element name="SigningCertificate" type="CertIDListType" 
      minOccurs="0"/>
    <xsd:element name="SignaturePolicyIdentifier" 
     type="SignaturePolicyIdentifierType" minOccurs="0"/>
    <xsd:element name="SignatureProductionPlace" 
      type="SignatureProductionPlaceType" 
     minOccurs="0"/>
    <xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<!-- End SignedSignatureProperties-->


<!-- Start SignedDataObjectProperties-->

<xsd:element name="SignedDataObjectProperties" 
  type="SignedDataObjectPropertiesType"/>

<xsd:complexType name="SignedDataObjectPropertiesType">
  <xsd:sequence>
    <xsd:element name="DataObjectFormat" type="DataObjectFormatType" 
      minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="CommitmentTypeIndication" 
      type="CommitmentTypeIndicationType" minOccurs="0" 
      maxOccurs="unbounded"/>
    <xsd:element name="AllDataObjectsTimeStamp" type="XAdESTimeStampType" 
      minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="IndividualDataObjectsTimeStamp"
      type="XAdESTimeStampType" 
      minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<!-- End SignedDataObjectProperties-->


<!-- Start UnsignedSignatureProperties-->

<xsd:element name="UnsignedSignatureProperties" 
  type="UnsignedSignaturePropertiesType"/>

<xsd:complexType name="UnsignedSignaturePropertiesType">
  <xsd:choice maxOccurs="unbounded">
    <xsd:element name="CounterSignature" type="CounterSignatureType"/>
    <xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>
    <xsd:element name="CompleteCertificateRefs" 
      type="CompleteCertificateRefsType"/>
    <xsd:element name="CompleteRevocationRefs" 
      type="CompleteRevocationRefsType"/>
    <xsd:element name="AttributeCertificateRefs" 
      type="CompleteCertificateRefsType"/>
    <xsd:element name="AttributeRevocationRefs" 
      type="CompleteRevocationRefsType"/>
    <xsd:element name="SigAndRefsTimeStamp" type="XAdESTimeStampType"/>
    <xsd:element name="RefsOnlyTimeStamp" type="XAdESTimeStampType"/>
    <xsd:element name="CertificateValues"
      type="CertificateValuesType"/>
    <xsd:element name="RevocationValues" type="RevocationValuesType"/>
    <xsd:element name="AttrAuthoritiesCertValues"
      type="CertificateValuesType"/>
    <xsd:element name="AttributeRevocationValues"
      type="RevocationValuesType"/>
    <xsd:element name="ArchiveTimeStamp" type="XAdESTimeStampType"/>
    <xsd:any namespace="##other" />
  </xsd:choice>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>


<!-- End UnsignedSignatureProperties-->


<!-- Start UnsignedDataObjectProperties-->

<xsd:element name="UnsignedDataObjectProperties" 
  type="UnsignedDataObjectPropertiesType" />

<xsd:complexType name="UnsignedDataObjectPropertiesType">
  <xsd:sequence>
    <xsd:element name="UnsignedDataObjectProperty" type="AnyType" 
      minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<!-- End UnsignedDataObjectProperties-->

<!-- Start QualifyingPropertiesReference-->

<xsd:element name="QualifyingPropertiesReference" 
  type="QualifyingPropertiesReferenceType"/>

<xsd:complexType name="QualifyingPropertiesReferenceType">
  <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<!-- End QualifyingPropertiesReference-->

<!-- End container types -->  
  
  
<!-- Start SigningTime element -->
  <xsd:element name="SigningTime" type="xsd:dateTime"/>
  
<!-- End SigningTime element -->

<!-- Start SigningCertificate -->
  <xsd:element name="SigningCertificate" type="CertIDListType"/>
  <xsd:complexType name="CertIDListType">
    <xsd:sequence>
      <xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CertIDType">
    <xsd:sequence>
      <xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
      <xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
    </xsd:sequence>
    <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
  </xsd:complexType>
  <xsd:complexType name="DigestAlgAndValueType">
    <xsd:sequence>
      <xsd:element ref="ds:DigestMethod"/>
      <xsd:element ref="ds:DigestValue"/>
    </xsd:sequence>
  </xsd:complexType>
  
<!-- End SigningCertificate -->  
  
<!-- Start SignaturePolicyIdentifier -->
  
  <xsd:element name="SignaturePolicyIdentifier" 
    type="SignaturePolicyIdentifierType"/>
  <xsd:complexType name="SignaturePolicyIdentifierType">
    <xsd:choice>
      <xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
      <xsd:element name="SignaturePolicyImplied"/>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="SignaturePolicyIdType">
    <xsd:sequence>
      <xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
      <xsd:element ref="ds:Transforms" minOccurs="0"/>
      <xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
      <xsd:element name="SigPolicyQualifiers" 
        type="SigPolicyQualifiersListType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SigPolicyQualifiersListType">
    <xsd:sequence>
      <xsd:element name="SigPolicyQualifier" type="AnyType" 
        maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="SPURI" type="xsd:anyURI"/>
  <xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
  <xsd:complexType name="SPUserNoticeType">
    <xsd:sequence>
      <xsd:element name="NoticeRef" type="NoticeReferenceType" 
        minOccurs="0"/>
      <xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="NoticeReferenceType">
    <xsd:sequence>
      <xsd:element name="Organization" type="xsd:string"/>
      <xsd:element name="NoticeNumbers" type="IntegerListType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="IntegerListType">
    <xsd:sequence>
      <xsd:element name="int" type="xsd:integer" minOccurs="0" 
        maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>

<!-- End SignaturePolicyIdentifier -->


<!-- Start CounterSignature -->
  <xsd:element name="CounterSignature" type="CounterSignatureType"/>
  <xsd:complexType name="CounterSignatureType">
    <xsd:sequence>
      <xsd:element ref="ds:Signature"/>
    </xsd:sequence>
  </xsd:complexType>
  
<!-- End CounterSignature -->

<!-- Start DataObjectFormat -->

  <xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
  <xsd:complexType name="DataObjectFormatType">
    <xsd:sequence>
      <xsd:element name="Description" type="xsd:string" minOccurs="0"/>
      <xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" 
        minOccurs="0"/>
      <xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
  </xsd:complexType>

<!-- End DataObjectFormat -->

<!-- Start CommitmentTypeIndication -->

  <xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
  <xsd:complexType name="CommitmentTypeIndicationType">
    <xsd:sequence>
      <xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
      <xsd:choice>
        <xsd:element name="ObjectReference" type="xsd:anyURI" 
          maxOccurs="unbounded"/>
        <xsd:element name="AllSignedDataObjects"/>
      </xsd:choice>
      <xsd:element name="CommitmentTypeQualifiers" 
        type="CommitmentTypeQualifiersListType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CommitmentTypeQualifiersListType">
    <xsd:sequence>
      <xsd:element name="CommitmentTypeQualifier" type="AnyType" 
        minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>

<!-- End CommitmentTypeIndication -->

<!-- Start SignatureProductionPlace -->

  <xsd:element name="SignatureProductionPlace" 
    type="SignatureProductionPlaceType"/>
  <xsd:complexType name="SignatureProductionPlaceType">
    <xsd:sequence>
      <xsd:element name="City" type="xsd:string" minOccurs="0"/>
      <xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
      <xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
      <xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  
<!-- End SignatureProductionPlace -->

<!-- Start SignerRole -->
  
<xsd:element name="SignerRole" type="SignerRoleType"/>
<xsd:complexType name="SignerRoleType">
  <xsd:sequence>
    <xsd:element name="ClaimedRoles" type="ClaimedRolesListType"
      minOccurs="0"/>
    <xsd:element name="CertifiedRoles" type="CertifiedRolesListType"
      minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ClaimedRolesListType">
  <xsd:sequence>
    <xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="CertifiedRolesListType">
  <xsd:sequence>
    <xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType"
      maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<!-- End SignerRole -->


  <xsd:element name="AllDataObjectsTimeStamp" type="XAdESTimeStampType"/>

  <xsd:element name="IndividualDataObjectsTimeStamp" 
    type="XAdESTimeStampType"/>

  <xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>  

<!-- Start CompleteCertificateRefs -->
  
<xsd:element name="CompleteCertificateRefs"
type="CompleteCertificateRefsType"/>

<xsd:complexType name="CompleteCertificateRefsType">
  <xsd:sequence>
    <xsd:element name="CertRefs" type="CertIDListType" />
  </xsd:sequence>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<!-- End CompleteCertificateRefs -->


<!-- Start CompleteRevocationRefs-->

<xsd:element name="CompleteRevocationRefs" 
type="CompleteRevocationRefsType"/>

<xsd:complexType name="CompleteRevocationRefsType">
  <xsd:sequence>
    <xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
    <xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
    <xsd:element name="OtherRefs" type="OtherCertStatusRefsType" 
      minOccurs="0"/> 
  </xsd:sequence>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<xsd:complexType name="CRLRefsType">
  <xsd:sequence>
    <xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="CRLRefType">
  <xsd:sequence>
    <xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
    <xsd:element name="CRLIdentifier" type="CRLIdentifierType" 
      minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="CRLIdentifierType">
  <xsd:sequence>
    <xsd:element name="Issuer" type="xsd:string"/>
    <xsd:element name="IssueTime" type="xsd:dateTime" />
    <xsd:element name="Number" type="xsd:integer"  minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
</xsd:complexType>

<xsd:complexType name="OCSPRefsType">
  <xsd:sequence>
    <xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="OCSPRefType">
  <xsd:sequence>
    <xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
    <xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" 
      minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

  <xsd:complexType name="ResponderIDType">
    <xsd:choice>
      <xsd:element name="ByName" type="xsd:string"/>
      <xsd:element name="ByKey" type="xsd:base64Binary"/>
    </xsd:choice>
  </xsd:complexType>

<xsd:complexType name="OCSPIdentifierType">
  <xsd:sequence>
    <xsd:element name="ResponderID" type="ResponderIDType"/>
    <xsd:element name="ProducedAt" type="xsd:dateTime"/>
  </xsd:sequence>
  <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
</xsd:complexType>

<xsd:complexType name="OtherCertStatusRefsType">
  <xsd:sequence>
    <xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<!-- End CompleteRevocationRefs-->

<xsd:element name="AttributeCertificateRefs"
  type="CompleteCertificateRefsType"/>

<xsd:element name="AttributeRevocationRefs"
  type="CompleteRevocationRefsType"/>
<xsd:element name="SigAndRefsTimeStamp" type="XAdESTimeStampType"/>

<xsd:element name="RefsOnlyTimeStamp" type="XAdESTimeStampType"/>

<!-- Start CertificateValues -->

<xsd:element name="CertificateValues" type="CertificateValuesType"/>

<xsd:complexType name="CertificateValuesType">
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
    <xsd:element name="EncapsulatedX509Certificate" 
      type="EncapsulatedPKIDataType"/>
     <xsd:element name="OtherCertificate" type="AnyType"/>
    </xsd:choice>
    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<!-- End CertificateValues -->  

<!-- Start RevocationValues-->
  
<xsd:element name="RevocationValues" type="RevocationValuesType"/>

<xsd:complexType name="RevocationValuesType">
  <xsd:sequence>
    <xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
    <xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
    <xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>

<xsd:complexType name="CRLValuesType">
  <xsd:sequence>
     <xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" 
       maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="OCSPValuesType">
  <xsd:sequence>
      <xsd:element name="EncapsulatedOCSPValue" 
        type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OtherCertStatusValuesType">
  <xsd:sequence>
    <xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

<!-- End RevocationValues-->  

<xsd:element name="AttrAuthoritiesCertValues" type="CertificateValuesType"/>

<xsd:element name="AttributeRevocationValues" type="RevocationValuesType"/>

<xsd:element name="ArchiveTimeStamp" type="XAdESTimeStampType"/>

  
</xsd:schema> 
